The embodiments of the present invention are broadly concerned with devices and methods for signal processing. These devices and methods are believed to be particularly useful in environments where high-sensitivity performance is required, for example for use with low-power spread-spectrum signals. More particularly, the embodiments are believed to be useful in systems employing orthogonal code multiplexing systems such as code division multiple access (CDMA) or similar methods, and/or for positioning systems, such as Global Navigation Satellite Systems (GNSS) such as the Global Positioning System or Galileo. In particular, embodiments of the present invention are useful in maximizing the performance of resources available in signal processing receivers to achieve the fastest signal acquisition times at the at lowest power, complexity and cost of production.
In one particular example, there is current interest in the ability to process low-power GPS signals that might occur in difficult environments, such as inside buildings. Signals in such environments typically have a total power of less than or equal to −145 dBmW and more usually −150 dBmW to −160 dBmW.
One particular challenge with regard to low-power GPS signals is the acquisition time, or the time required to recognize and be able to track a satellite signal. The signal received at a GPS receiver is a composite of the desired GPS satellite signal, other GPS satellite signals, radiation in the same frequency range, as well as noise from a variety of sources. The initial task of the GPS receiver is thus to try to separate the GPS signal of the desired satellite from all other components of the received signal.
GPS signals are spread-spectrum signals carrying a pseudorandom noise code (PN code) particular to the transmitting satellite. The PN codes for civilian use are repeated every 1 millisecond (ms). The typical acquisition method involves “finding” this PN code in the received signal, which is done by correlating a known copy of the PN code against the received signal. The process of correlation includes a multiplication step, where the received signal is multiplied by the known copy of the particular PN code, and an integration (or “accumulation”) step, where the product of the received signal and the particular PN code are integrated over the code phase. If the known PN code is correctly aligned with a received signal carrying the same PN code, a high integration value (or “peak”) will result.
There are several difficulties to be overcome, the primary two of which are a determination of the code phase and a determination of the signal frequency. The code phase refers to the starting and ending points in time of the PN code carried by the received signal. Since the receiver has at best only imprecise knowledge of the present GPS time, of its own location and the location of the transmitting satellite, it can not determine when the PN code will begin or end by its local clock. In other words, the receiver does not know where in time the 1 ms boundary of the repeating PN code is. If the receiver has no information that would allow it to estimate where the code phase begins, it must do a full code phase search. This typically involves performing a correlation, shifting the known PN code relative to the received signal by a fraction of a code chip, and correlating again. This process can be repeated or performed in parallel until the known PN code has been shifted by 1 ms.
The second problem is a determination of the frequency. Although satellites broadcast at a known frequency, they also move relative to the receiver, thus inducing a Doppler shift. This Doppler shift at times is sufficient to prevent acquisition of the signal. It is thus necessary to search not only different code phases, but also different frequencies if the receiver has no way to estimate the Doppler shift.
Furthermore, in low signal power environments, it is often necessary to perform the integration step of correlation over a long period of time. This period is usually several milliseconds for coherent integration, and may be up to twenty milliseconds. Longer integration can be performed incoherently, and incoherent integration times on the order of seconds are not uncommon.
To perform such operations over many code phases, many frequency domains, and long integration periods, signal processing devices often employ a large number of parallel correlation units, employing a brute force technique aptly named “massive correlation”. Depending on the number of correlators, acceptable acquisition times can sometimes be achieved even under low signal power conditions. The term “tap” is generally used to mean the physical circuit element that can perform a single correlation operation between the incoming signal and the replica code with a certain frequency and code offset. Taps are generally organized into units called “channels” which are used to perform correlation over a selected code/frequency space.
As an example of massive correlation, a “hot start” with a GPS receiver may be considered, wherein the receiver has an estimate of its location and the present time or where there an estimate of time available through assistance data. Under such conditions, the search space can be equal to the full PN code space (1023 chips for civilian use) and some hundreds of hertz (Hz) in the frequency domain (for example, +/−150 Hz. The search range of a single tap might be, for example, ½ chip in the code space and +/−1/(3 T) in the frequency space (where T is the coherent integration time and 2/(3T) is called frequency bin). Thus, to cover the entire search space a set of around 16 thousands taps is needed.
Many GPS receivers implement even higher numbers of taps and can search more than one satellite in parallel. Other receivers use fewer taps, but must serialize the search of the single satellite into several steps. A “massive correlator” receiver is normally used to mean a receiver that has at least the potential to search for the whole code uncertainty (i.e. at least 2046 physical taps) in parallel for one satellite. The search in the frequency domain can be performed using post correlation Fast Fourier Transform (FFT), which is more efficient, or using physical taps, which is quite inefficient especially for high frequency uncertainties.
In general, more correlation resources mean higher production costs and more power consumption. Fewer correlation resources result in lower costs, but also result in longer acquisition times. It is thus desirable to maximize the performance of the correlation resources available to achieve the fastest acquisition times at the at lowest power, complexity and cost of production.